home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / program / door_io.lha / door_io.library / door_io.dok < prev    next >
Text File  |  1995-09-05  |  4KB  |  87 lines

  1. Hallo.. hier die Doku für die door_io.library
  2.  
  3. Ich habe sie allen BBS-Door Programmierern gewidmet (mir auch).
  4.  
  5. Die Lirary ermöglicht es, gleichzeitig zeichen (strings) einzulesen und
  6. auf Ereignisse zu reagieren. Dies ist für MultiUserDungeons (MUD) oder ähnliche
  7. Programme nötig. Ich habe die lib für ein _fast_MUD_ namens Gore benutzt.
  8. Gore ist mehr ein MUDSG .. multiuserdungeonspladdergame.. :)
  9.  
  10. Tja.. es ist halt nicht soo toll, wenn man gerade ein Kommando eintippert, und
  11. wenn man fertiggetippt hat eine messie bekommt "ein level 4711-Zombie hat dich 
  12. gerade mit der Kettensäge rasiert" :)
  13.  
  14. Eine andere nützliche Sache ist der Metazeichenexpander (ich nenn das mal so..)
  15. ein "#" wird als Steuerzeichen benutzt und das folgende zeichen sagt, was passiert.
  16. 0 -> color black
  17. 1 -> color red
  18. 2 -> color green
  19. 3 -> color blue
  20. 4 -> color yellow
  21. 5 -> color magenta
  22. 6 -> color cyan
  23. 7 -> color white
  24. n -> CR/LF
  25. s -> standard colors
  26.  
  27. Die packetio-routinen waren eigentlich nicht als shared lib geplant aber wir wollten
  28. sie auch in einer chatter-library (die bald für AmBoS verfügbar sein wird) benutzen,
  29. und da hab ichs halt mal als library gemacht..
  30.  
  31. Die Library und die headerfiles sind copyright by A.Haarer 1995+ dürfen kostenlos
  32. benutzt werden. Sie dürfen auf einer profitfreien Grundlage kopiert und verbreitet
  33. werden. Die Kommerzielle Nutzung ist ohne schriftliche Erlaubnis des Autors verboten.
  34.  
  35. Tja..  das Programm ist dingensware schickt halt irgendwem irgendwas.. 
  36. _______________________________________________________________________________
  37. F: Wozu ist das gut ? 
  38.  
  39. A: Diese shared library vereinfacht i/o operationen in BBS-Cli-Doorprogrammen
  40.    - man kann GLEICHZEITG auf die Eingabe warten und Exec-Messages empfangen
  41.    - man kann eine Funktion angeben, die bei "carrier-lost" angesprungen wird
  42.    - es gibt einen "metazeichenexpander" um die ausgabe einfach farbig zu gestalten.
  43. ________________________________________________________________________________
  44. F: Wie funktionierts ? 
  45.  
  46. A: Die Library benutzt dospackets und die Ein-Ausgaben durchzuführen. Deshalb kann man
  47.    damit auf Eingaben und eigene Messages gleichzeitig warten. Die Handles 
  48.    Input() und Output() werden benutzt um den Handlerprozess zu ermitteln
  49. _________________________________________________________________________________
  50. F: Warum soll ich die Lib benutzen ? Ich kann doch die Zeichen einzeln pollen  !
  51.  
  52. A: - Weil pollen in einer Multitasking kompletter Dummfug ist. Das macht man auf 
  53.      ner DOSe so, aber nicht auf nem Amiga !
  54.    - Pollen bremst das gesamte System aus und ist in diesem Fall schlechtes Software-
  55.      Design !
  56.    - Wenn man die Zeichen einzeln pollt, muß man sich einen Stringeingabe selbst
  57.      schreiben !
  58.    - polling suxx :)
  59. _________________________________________________________________________________
  60. Q: Wie benutze ich die Lib ?
  61.  
  62. A: - Ersetze die Stringeingaben durch BOX_getstr()
  63.  
  64.    - Ersetze die Stringausgaben durch BOX_getstr() und formatiere die Strings
  65.      mit sprintf() wenn nötig.
  66.  
  67.    - Initialisiere the geöffnete Library mit BOX_start() und übergebe einige Werte:
  68.       - meta_on           1 -> das "#" steuert die farben an
  69.                           0 -> der text wird genau so ausgegeben wie er im string steht
  70.       - carrier_lost_hook (oder NULL) zeiger auf Funktion die bei carrier loss aufgerufen wird
  71.       - exthandler        wird aufgerufen, wenn eins der sigbits zutrifft
  72.       - sigmask           signalbits die den exthandler aufrufen
  73.  
  74.    - die signalmake kann jederzeit mit BOX_setmask() geändert werden
  75.  
  76.    - die carrier_lost Hookfunktion muß BOX_stop() aufrufen
  77.  
  78.    - DIE BEIDEN HOOKFUNKTIONEN MÜSSEN MIT __saveds DEKLARIERT WERDEN
  79.      (__saveds setzt den  near data pointer manche  compiler verwenden __geta4)
  80.  
  81.    - BOX_stop() beim programmende aufrufen
  82. _________________________________________________________________________________
  83. Q: Kontakt zum Autor
  84.  
  85. A: - Email an MAC@nasus.north.de oder MAC@dontpanic.sub.org
  86.    - Call the Castle of Confusion BBS : +49 421 636 7544 or +49 421 636 8643
  87.